Virtually anyone who uses a computer system, and especially, a personal computer system, has considered the possibility of some hardware failure making data stored on that system inaccessible. The unfortunate among us have not only considered the possibility, but have had the possibility become a reality. Due to this possibility, it is today commonplace to employ some backup (or archival) system to periodically copy data stored in the computer system in order that the data may be restored at a later time in the event of such a hardware failure. In the personal computer world, most commonly, the backup system either employs so-called "floppy disks" onto which data is transferred, through the computers floppy disk drives, for storage or a tape drive which is coupled to the computer and which allows data to be communicated between the computer and tape drive for recording onto a tape medium (e.g., magnetic or optical tape).
In personal computers, such as the IBM PC and compatible family, known tape drives are coupled with the computer through a floppy disk interface. This design is employed largely to save the cost of requiring a separate controller for the tape drive and to avoid occupying one of the computer's slots with a separate tape controller. However utilizing the floppy controller as an interface presents certain problems in the operation and design of a backup system. For example, in the typical IBM PC or compatible, a floppy drive controller is capable of supporting up to two separate drives. Using one of the slots on the floppy drive controller to interface with a tape drive may be undesirable. Further, use of the floppy drive controller allows for a relatively slow interface data rate, e.g., 500 kilobits per second (Kb/s). Present day disk controllers may provide for relatively faster interface data rates, e.g., 5 or more megabits per second (Mb/s). Therefore, it is desired to provide for coupling of a tape drive to a controller having a interface data rate more compatible with present day disk controllers.
Therefore, as one object of the present invention it is desired to provide a tape drive design which allows interfacing a tape drive to a computer system without need to interface through the floppy controller.
It is, of course, possible to provide for interfacing of a tape drive through a separate and relatively faster interface. However, in computer systems such as may utilize the preferred embodiment of the present invention, a separate interface requires use of one of a limited number of "card slots" on the motherboard of the computer system. Users of such computer systems generally prefer to avoid use of card slots whenever possible so that the card slots may be saved for other uses.
Therefore, as a second object of the present invention, it is desired to provide an interface for a tape backup system which does not require use of a separate card slot for interfacing with the host computer.
Recently, an interface has been developed known as the Intelligent Device Electronics (IDE) interface. The IDE interface typically allows for interfacing of at least two hard disk drives, each having an embedded controller. In typical operation, one disk drive may be addressed by the host computer through standard operating system routines in order to access data on that drive. During the time when the disk drive is executing the command to access data, the drive sets a bit indicating the interface is busy, preventing the host computer from issuing additional commands over the interface (e.g., a command to write data to the second device). Therefore, the IDE interface, utilizing standard operating system commands, is relatively incompatible with attempts to couple a tape drive to the device for purposes of "backing up" a disk drive coupled with the interface.
It is therefore, an object of the present invention to provide apparatus and methods for interfacing a tape drive with an IDE interface and to allow simultaneous operation of a disk drive and the tape drive coupled with the interface.
Finally, embedded controller circuits on present day disk drives designed for coupling with the IDE interface typically comprise standard, off-the-shelf, disk controller circuits, such as the Cirrus Logic CL-SH-260 disk controller circuit. It is desired to develop a tape drive utilizing standard, off-the-shelf, disk controller circuits. However, certain incompatibilities exist between outputs provided by such circuits and formats compatible for writing to industry standard tapes.
Therefore, as another object of the present invention, it is desired to provide circuitry for adapting outputs of standard, off-the-shelf, disk controller circuits to provide data compatible for writing industry standard tape formats.